/* Element Plus组件样式覆盖文件 */
@use './variables.scss' as *;

/* 按钮组件 */
.el-button {
  &--primary {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    
    &:hover, &:focus {
      background-color: rgba(var(--primary-color-rgb), 0.8);
      border-color: rgba(var(--primary-color-rgb), 0.8);
    }
    
    &:active {
      background-color: rgba(var(--primary-color-rgb), 0.9);
      border-color: rgba(var(--primary-color-rgb), 0.9);
    }
  }
  
  &--text {
    color: var(--primary-color);
    
    &:hover, &:focus {
      color: rgba(var(--primary-color-rgb), 0.8);
      background-color: rgba(var(--primary-color-rgb), 0.1);
    }
  }
}

/* 输入框组件 */
.el-input {
  &.is-focus .el-input__wrapper,
  &.is-hover .el-input__wrapper,
  .el-input__wrapper:hover,
  .el-input__wrapper:focus {
    box-shadow: 0 0 0 1px var(--primary-color) inset !important;
  }
}

/* 文本域组件 */
.el-textarea {
  &.is-focus .el-textarea__inner,
  .el-textarea__inner:focus,
  .el-textarea__inner:hover {
    box-shadow: 0 0 0 1px var(--primary-color) inset !important;
  }
}

/* 下拉选择器组件 */
.el-select {
  .el-input {
    &.is-focus .el-input__wrapper {
      box-shadow: 0 0 0 1px var(--primary-color) inset !important;
    }
  }
  
  .el-select-dropdown__item {
    &.selected {
      color: var(--primary-color);
      font-weight: bold;
    }
    
    &:hover {
      background-color: rgba(var(--primary-color-rgb), 0.1);
    }
  }
}

/* 表格组件 */
.el-table {
  th.el-table__cell {
    background-color: rgba(var(--primary-color-rgb), 0.05);
    font-weight: bold;
  }
  
  .el-table__row {
    &:hover td.el-table__cell {
      background-color: rgba(var(--primary-color-rgb), 0.1);
    }
  }
  
  .el-table-column--selection .el-checkbox__input.is-checked .el-checkbox__inner {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
  }
}

/* 分页器组件 */
.el-pagination {
  .el-pager li {
    &.is-active {
      background-color: var(--primary-color);
      color: #fff;
    }
    
    &:hover:not(.is-active) {
      color: var(--primary-color);
    }
  }
  
  button:hover:not(:disabled) {
    color: var(--primary-color);
  }
}

/* 标签页组件 */
.el-tabs {
  .el-tabs__item {
    &.is-active {
      color: var(--primary-color);
    }
    
    &:hover {
      color: rgba(var(--primary-color-rgb), 0.8);
    }
  }
  
  .el-tabs__active-bar {
    background-color: var(--primary-color);
  }
}

/* 对话框组件 */
.el-dialog {
  .el-dialog__header {
    border-bottom: 1px solid rgba(var(--primary-color-rgb), 0.1);
  }
  
  .el-dialog__headerbtn:hover .el-dialog__close {
    color: var(--primary-color);
  }
}

/* 表单组件 */
.el-form {
  .el-form-item.is-success .el-input__wrapper {
    box-shadow: 0 0 0 1px var(--success-color) inset !important;
  }
  
  .el-form-item.is-error .el-input__wrapper {
    box-shadow: 0 0 0 1px var(--danger-color) inset !important;
  }
  
  .el-form-item__label.is-required:before {
    color: var(--danger-color);
  }
}

/* 复选框组件 */
.el-checkbox {
  &__input {
    &.is-checked .el-checkbox__inner {
      background-color: var(--primary-color);
      border-color: var(--primary-color);
    }
    
    &.is-focus .el-checkbox__inner {
      border-color: var(--primary-color);
    }
  }
  
  &__inner:hover {
    border-color: var(--primary-color);
  }
}

/* 单选框组件 */
.el-radio {
  &__input {
    &.is-checked .el-radio__inner {
      background-color: var(--primary-color);
      border-color: var(--primary-color);
    }
    
    &.is-focus .el-radio__inner {
      border-color: var(--primary-color);
    }
  }
  
  &__label.is-checked {
    color: var(--primary-color);
  }
  
  &__inner:hover {
    border-color: var(--primary-color);
  }
}

/* 开关组件 */
.el-switch {
  &.is-checked {
    .el-switch__core {
      background-color: var(--primary-color);
      border-color: var(--primary-color);
    }
  }
}

/* 日期选择器 */
.el-date-picker {
  .el-date-table td.current:not(.disabled) span {
    background-color: var(--primary-color);
  }
  
  .el-date-table td.today span {
    color: var(--primary-color);
  }
  
  .el-date-picker__header-label:hover {
    color: var(--primary-color);
  }
}

/* 时间选择器 */
.el-time-panel {
  .el-time-spinner__item.active:not(.disabled) {
    color: var(--primary-color);
  }
}

/* 滑块组件 */
.el-slider {
  .el-slider__bar {
    background-color: var(--primary-color);
  }
  
  .el-slider__button {
    border-color: var(--primary-color);
  }
}

/* 级联选择器 */
.el-cascader {
  .el-cascader__suggestion-item.selected {
    color: var(--primary-color);
  }
  
  .el-cascader-node.in-active-path, 
  .el-cascader-node.is-active, 
  .el-cascader-node.is-selectable.in-checked-path {
    color: var(--primary-color);
  }
} 